package com.ruoyi.bl.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单信息对象 gas_order
 * 
 * @author ruoyi
 * @date 2023-08-11
 */
public class BlOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单id */
    private Long orderId;

    /** 部门ID */
    private Long deptId;

    /** 订单编号 */
    private String orderSn;

    /** 配送员ID */
    @Excel(name = "配送员ID")
    private Long deliveryId;

    /** 配送单据id */
    @Excel(name = "配送单据id")
    private Long deliveryOrderId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private Integer orderStatus;

    /** 退款状态 */
    @Excel(name = "退款状态")
    private Integer aftersaleStatus;

    /** 发货状态 */
    @Excel(name = "发货状态")
    private Integer shippingStatus;

    /** 支付状态 */
    @Excel(name = "支付状态")
    private Integer payStatus;

    /** 配送状态 */
    @Excel(name = "配送状态")
    private Integer deliveryStatus;

    /** 收货人 */
    @Excel(name = "收货人")
    private String consignee;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 手机 */
    @Excel(name = "手机")
    private String mobile;

    /** 邮件 */
    @Excel(name = "邮件")
    private String email;

    /** 地区编码 */
    @Excel(name = "地区编码")
    private String areaCode;

    /** 地区编码简称 */
    @Excel(name = "地区编码简称")
    private String areaName;

    /** 支付code */
    @Excel(name = "支付code")
    private String payCode;

    /** 支付方式名称 */
    @Excel(name = "支付方式名称")
    private String payName;

    /** 配送费 */
    @Excel(name = "配送费")
    private BigDecimal deliveryAmount;

    /** 应付款金额 */
    @Excel(name = "应付款金额")
    private BigDecimal orderAmount;

    /** 订单总价 */
    @Excel(name = "订单总价")
    private BigDecimal totalAmount;

    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date addTime;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date deliveryTime;

    /** 期望送达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "期望送达时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date expectedTime;

    /** 送达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "送达时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date arriveTime;

    /** 送达图片 */
    @Excel(name = "送达图片")
    private String arrivePicture;

    /** 确认收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "确认收货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date receiveTime;

    /** 自动确认时间（天） */
    @Excel(name = "自动确认时间", readConverterExp = "天=")
    private Long autoConfirmDay;

    /** 物流公司(配送方式) */
    @Excel(name = "物流公司(配送方式)")
    private String deliveryCompany;

    /** 用户备注 */
    @Excel(name = "用户备注")
    private String userNote;

    /** 优惠券ID */
    @Excel(name = "优惠券ID")
    private Long couponId;

    private List<BlOrderGoods> blOrderGoodsList;

    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setOrderSn(String orderSn)
    {
        this.orderSn = orderSn;
    }

    public String getOrderSn()
    {
        return orderSn;
    }
    public void setDeliveryId(Long deliveryId)
    {
        this.deliveryId = deliveryId;
    }

    public Long getDeliveryId()
    {
        return deliveryId;
    }
    public void setDeliveryOrderId(Long deliveryOrderId)
    {
        this.deliveryOrderId = deliveryOrderId;
    }

    public Long getDeliveryOrderId()
    {
        return deliveryOrderId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setOrderStatus(Integer orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public Integer getOrderStatus()
    {
        return orderStatus;
    }
    public void setAftersaleStatus(Integer aftersaleStatus)
    {
        this.aftersaleStatus = aftersaleStatus;
    }

    public Integer getAftersaleStatus()
    {
        return aftersaleStatus;
    }
    public void setShippingStatus(Integer shippingStatus)
    {
        this.shippingStatus = shippingStatus;
    }

    public Integer getShippingStatus()
    {
        return shippingStatus;
    }
    public void setPayStatus(Integer payStatus)
    {
        this.payStatus = payStatus;
    }

    public Integer getPayStatus()
    {
        return payStatus;
    }
    public void setDeliveryStatus(Integer deliveryStatus)
    {
        this.deliveryStatus = deliveryStatus;
    }

    public Integer getDeliveryStatus()
    {
        return deliveryStatus;
    }
    public void setConsignee(String consignee)
    {
        this.consignee = consignee;
    }

    public String getConsignee()
    {
        return consignee;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMobile()
    {
        return mobile;
    }
    public void setEmail(String email)
    {
        this.email = email;
    }

    public String getEmail()
    {
        return email;
    }
    public void setAreaCode(String areaCode)
    {
        this.areaCode = areaCode;
    }

    public String getAreaCode()
    {
        return areaCode;
    }
    public void setAreaName(String areaName)
    {
        this.areaName = areaName;
    }

    public String getAreaName()
    {
        return areaName;
    }
    public void setPayCode(String payCode)
    {
        this.payCode = payCode;
    }

    public String getPayCode()
    {
        return payCode;
    }
    public void setPayName(String payName)
    {
        this.payName = payName;
    }

    public String getPayName()
    {
        return payName;
    }

    public BigDecimal getDeliveryAmount() {
        return deliveryAmount;
    }

    public void setDeliveryAmount(BigDecimal deliveryAmount) {
        this.deliveryAmount = deliveryAmount;
    }

    public void setOrderAmount(BigDecimal orderAmount)
    {
        this.orderAmount = orderAmount;
    }

    public BigDecimal getOrderAmount()
    {
        return orderAmount;
    }
    public void setTotalAmount(BigDecimal totalAmount)
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount()
    {
        return totalAmount;
    }
    public void setAddTime(Date addTime)
    {
        this.addTime = addTime;
    }

    public Date getAddTime()
    {
        return addTime;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }
    public void setDeliveryTime(Date deliveryTime)
    {
        this.deliveryTime = deliveryTime;
    }

    public Date getDeliveryTime()
    {
        return deliveryTime;
    }
    public void setExpectedTime(Date expectedTime)
    {
        this.expectedTime = expectedTime;
    }

    public Date getExpectedTime()
    {
        return expectedTime;
    }
    public void setArriveTime(Date arriveTime)
    {
        this.arriveTime = arriveTime;
    }

    public Date getArriveTime()
    {
        return arriveTime;
    }
    public void setArrivePicture(String arrivePicture)
    {
        this.arrivePicture = arrivePicture;
    }

    public String getArrivePicture()
    {
        return arrivePicture;
    }
    public void setReceiveTime(Date receiveTime)
    {
        this.receiveTime = receiveTime;
    }

    public Date getReceiveTime()
    {
        return receiveTime;
    }
    public void setAutoConfirmDay(Long autoConfirmDay)
    {
        this.autoConfirmDay = autoConfirmDay;
    }

    public Long getAutoConfirmDay()
    {
        return autoConfirmDay;
    }
    public void setDeliveryCompany(String deliveryCompany)
    {
        this.deliveryCompany = deliveryCompany;
    }

    public String getDeliveryCompany()
    {
        return deliveryCompany;
    }
    public void setUserNote(String userNote)
    {
        this.userNote = userNote;
    }

    public String getUserNote()
    {
        return userNote;
    }
    public void setCouponId(Long couponId)
    {
        this.couponId = couponId;
    }

    public Long getCouponId()
    {
        return couponId;
    }

    public List<BlOrderGoods> getBlOrderGoodsList() {
        return blOrderGoodsList;
    }

    public void setBlOrderGoodsList(List<BlOrderGoods> blOrderGoodsList) {
        this.blOrderGoodsList = blOrderGoodsList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("orderId", getOrderId())
                .append("deptId", getDeptId())
                .append("orderSn", getOrderSn())
                .append("deliveryId", getDeliveryId())
                .append("deliveryOrderId", getDeliveryOrderId())
                .append("userId", getUserId())
                .append("orderStatus", getOrderStatus())
                .append("aftersaleStatus", getAftersaleStatus())
                .append("shippingStatus", getShippingStatus())
                .append("payStatus", getPayStatus())
                .append("deliveryStatus", getDeliveryStatus())
                .append("consignee", getConsignee())
                .append("address", getAddress())
                .append("mobile", getMobile())
                .append("email", getEmail())
                .append("areaCode", getAreaCode())
                .append("areaName", getAreaName())
                .append("payCode", getPayCode())
                .append("payName", getPayName())
                .append("deliveryAmount", getDeliveryAmount())
                .append("orderAmount", getOrderAmount())
                .append("totalAmount", getTotalAmount())
                .append("addTime", getAddTime())
                .append("payTime", getPayTime())
                .append("deliveryTime", getDeliveryTime())
                .append("expectedTime", getExpectedTime())
                .append("arriveTime", getArriveTime())
                .append("arrivePicture", getArrivePicture())
                .append("receiveTime", getReceiveTime())
                .append("autoConfirmDay", getAutoConfirmDay())
                .append("deliveryCompany", getDeliveryCompany())
                .append("userNote", getUserNote())
                .append("couponId", getCouponId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
